--- title: complexnet keywords: fastai sidebar: home_sidebar summary: "CNN whose topology is built by complex networks." ---
import tensorflow_datasets as tfds
cifar10, info = tfds.load(name='food101', with_info=True)
import matplotlib.pyplot as plt
tfds.show_examples(info, cifar10['train'])
input = keras.Input(shape=(32,32,3))
n = 60
stages_nums = [n//3]*3
G = cascade(n, 0.1)
G = after_DAG(G)
for _id in sorted(G.nodes()):
preds = [pred for pred in G.predecessors(_id)]
succs = [succ for succ in G.successors(_id)]
print(_id,preds, succs)
model = complex_net(G, input, filters=32, kernel_size=3, stages_nums=stages_nums)
model.summary()
keras.utils.plot_model(model,'first_dag.png', show_layer_names=False)
n = 60*2
c = 0.1
stages_nums = [n//3]*3
filters = 64
kernel_size = 3
model = complexnet_1(n, c, stages_nums, input, filters, kernel_size, num_classes=10)
model = complex_stage(G, input, filters=32, kernel_size=3, strides=2)
n = 20
c = 0.1
filters = 64
kernel_size = 3
num_classes = 10
model = complexnet_2(n, c, input, filters, kernel_size, num_classes)
model.summary()
model.compile(optimizer=keras.optimizers.Adam(learning_rate=1e-3),
loss=keras.losses.CategoricalCrossentropy(from_logits=False),
metrics=['accuracy'])
(x_train, y_train), (x_test, y_test) = keras.datasets.cifar10.load_data()
x_train = x_train.astype('float32') / 255.
x_test = x_test.astype('float32') / 255.
y_train = keras.utils.to_categorical(y_train, 10)
y_test = keras.utils.to_categorical(y_test, 10)
model.fit(x_train, y_train,
batch_size=64,
epochs=1,
validation_split=0.2)
model.outputs
m.get_layer('stem_conv')